package demo02_通过配置文件来编写;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import demo01_JDBC入门.User;
import demo05_JDBC工具类的抽取.JBDCUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Test {
    public static void main(String[] args)throws Exception {
        //创建C3P0连接池对象
        ComboPooledDataSource dataSource=new ComboPooledDataSource();
        //获得连接
        Connection connection = dataSource.getConnection();
        //预编译sql语句,得到预编译对象
        String sql="select *from user where id=?";
        PreparedStatement ps = connection.prepareStatement(sql);
        //设置参数
        ps.setInt(1,2);
        //执行sql语句,处理结果
        ResultSet resultSet = ps.executeQuery();
        //定义一个变量
        User uesr=null;
        while (resultSet.next()){
            //取值
            int id = resultSet.getInt("id");
            String username = resultSet.getString("username");
            String password = resultSet.getString("password");
            String nickname = resultSet.getString("nickname");
            //封装
            uesr=new User(id,username,password,nickname);
            System.out.println("正在使用 的:"+dataSource.getNumBusyConnections());// 正在使用连接数
            System.out.println("正在空闲 的:"+dataSource.getNumIdleConnections());// 空闲连接数
             System.out.println("总的连接数:"+dataSource.getNumConnections());// 总 连接数

        }
        //释放资源
        JBDCUtils.release(resultSet,ps,connection);
        System.out.println(uesr);
        Thread.sleep(5000);
        System.out.println("正在使用 的:"+dataSource.getNumBusyConnections());// 正在使用连接数
        System.out.println("正在空闲 的:"+dataSource.getNumIdleConnections());// 空闲连接数
        System.out.println("总的连接数:"+dataSource.getNumConnections());// 总 连接数


    }
}
